import pandas as pd
import requests
import openpyxl

# 获取网页源代码
def read_html(url):
    '''
    :param url: 服务器名称
    :return: 网页数据
    '''
    # 设置UA 模拟浏览器登录
    header = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.35",
    }
    proxies={
        "http":"58.20.184.187:9091"
        # "http":"183.236.232.160:8080"
        # "http":"222.74.73.202:42055"

    }
    return requests.get(url, headers=header,verify=True)
    # return requests.get(url, headers=header,verify=True,proxies=proxies)


def read_file_csv(fileurl,encoding='utf-8'):
    '''
    :param fileurl: 文件路径
    :return: DataFrame类型的csv文件
    '''
    return pd.read_csv(fileurl,encoding=encoding)


def read_file_excel(fileurl,sheet_name):
    '''
    :param fileurl: Excel文件路径
    :param sheet_name: 需要获取的sheet文件名
    :return: DataFrame类型的Excel文件
    '''
    return pd.read_excel(fileurl,sheet_name = sheet_name)

def to_excel_same(df,fileurl,sheet_name):
    '''
    :param df: 需要存入Excel的DataFrame数据
    :param fileurl: 文件存放路径
    :param sheet_name: 存入的sheet名称
    '''
    # 第二种方法：直接在原Excel中添加sheet表并添加数据（优）
    wb = openpyxl.load_workbook(fileurl)
    ws = wb.create_sheet(title=sheet_name, index=0)
    ws.append(list(df.columns.values))
    for ls in df.values.tolist():
        print(ls)
        ws.append(ls)
    wb.save(fileurl)
    '''
    # 第一种方法：向Excel中全部重新添加一次
    writer = pd.ExcelWriter(fileurl, engine='openpyxl')  # 可以向不同的sheet写入数据
    df.to_excel(writer, sheet_name=sheet_name, index=False)  # 将数据写入excel中的sheet2表,sheet_name改变后即是新增一个sheet
    df_new.to_excel(writer, sheet_name=sheet_name, index=False)  # 将数据写入excel中的sheet2表,sheet_name改变后即是新增一个sheet
    writer.save()
    '''